"""
场景数据模型
"""
from typing import Dict, List, Any, Optional
from pydantic import BaseModel, Field
from datetime import datetime


class Scene(BaseModel):
    """
    测算场景数据模型
    """
    id: str
    name: str
    description: str = ""
    scene_type: str
    related_db: Optional[str] = None
    created_at: str
    updated_at: str
    status: str = "created"  # created, in_progress, completed, archived
    current_step: int = 0
    parameters: Dict[str, Any] = Field(default_factory=dict)
    data_sources: List[Dict[str, Any]] = Field(default_factory=list)
    calculation_results: Dict[str, Any] = Field(default_factory=dict)
    
    class Config:
        arbitrary_types_allowed = True